home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1991: Code Warrior / bincue / Code Warrior.bin / Tools & Apps (Moof!) / OS⁄Toolbox / HyperMenus / InsertMenu.c < prev    next >
Encoding:
Text File  |  1990-07-23  |  713 b   |  48 lines  |  [TEXT/MPS ]

  1. //
  2. //        © Copyright 1990 Apple Computer, Inc.   By Ricardo Batista
  3. //
  4.  
  5. #include "Types.h"
  6. #include "Memory.h"
  7. #include "Menus.h"
  8. #include "Packages.h"
  9. #include "HyperXCMD.h"
  10.  
  11.  
  12. void GetHLong(Handle H, long *s);
  13.  
  14. pascal void MAIN(XCmdPtr xcmd)
  15. {
  16.     long id;
  17.     long num;
  18.     
  19.     if (xcmd->paramCount != 2)
  20.         return;
  21.     GetHLong(xcmd->params[0], &num);
  22.     if (!num)
  23.         return;
  24.     GetHLong(xcmd->params[1], &id);
  25.     InsertMenu((MenuHandle) num, (short) id);
  26. }
  27.  
  28.  
  29. void GetHLong(Handle H, long *s)
  30. {
  31.     short len;
  32.     char st[256];
  33.     
  34.     *s = 0L;
  35.     HLock(H);
  36.     len = (short) GetHandleSize(H);
  37.     if (len > 255)
  38.         len = 255;
  39.     BlockMove(*H, &st[1], (long) len);
  40.     HUnlock(H);
  41.     len = 1;
  42.     while (st[len])
  43.         len++;
  44.     st[0] = len - 1;
  45.     StringToNum(st, s);
  46. }
  47.  
  48.